|
The notion of communication complexity was introduced by Yao in 1979, who investigated the following problem involving two separated parties (Alice and Bob). Alice receives an n-bit string x and Bob another n-bit string y, and the goal is for one of them (say Bob) to compute a certain function f(x,y) with the least amount of communication between them. Note that here we are not concerned about the number of computational steps, or the size of the computer memory used. Communication complexity tries to quantify the amount of communication required for such distributed computations. Of course they can always succeed by having Alice send her whole n-bit string to Bob, who then computes the function, but the idea here is to find clever ways of calculating f with fewer than n bits of communication. This abstract problem is relevant in many contexts: in VLSI circuit design, for example, one wants to minimize energy used by decreasing the amount of electric signals required between the different components during a distributed computation. The problem is also relevant in the study of data structures, and in the optimization of computer networks. For a survey of the field, see the book by Kushilevitz and Nisan. == Formal definition == Let : X Y Z where we assume in the typical case that and . Alice draws an n-bit string X while Bob draws an n-bit string Y. By communicating to each other one bit at a time (adopting some ''communication protocol''), Alice and Bob want to compute the value of such that at least one party knows the value at the end of the communication. At this point the answer can be communicated back so that at the cost of one extra bit, both parties will know the answer. The worst case communication complexity of this communication protocol, denoted as , is then defined to be : minimum number of bits exchanged between Alice and Bob in the worst case Using the above definition, it is useful to think of the function as a matrix (called the ''input matrix'') where each row of the matrix corresponds to X and each column corresponds to Y. An entry in the input matrix is . Then, as and when each party communicates a bit to the other, the number of choices for the answer reduces as this eliminates a set of rows/columns resulting in a submatrix of A. More formally, a set R X Y is called a ''(combinatorial) rectangle'' if whenever R and R then R. Equivalently, R can also be viewed as a submatrix of the input matrix A such that R = M N where M X and N Y. Consider the case when bits are already exchanged between the parties. Now, for a particular , let us define a matrix : Then, is a rectangle and a submatrix of A. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Communication complexity」の詳細全文を読む スポンサード リンク
|